package com.ruoyi.shopping.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.beans.factory.support.ManagedList;

/**
 * 商城商品对象 jy_mall_product
 *
 * @author ruoyi
 * @date 2022-06-14
 */
@ApiModel
public class MallProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    List<MallProductSpecs> dataValue =new ArrayList<MallProductSpecs>();
    /** 主键 */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty(value = "商品名称")
    private String productName;

    /** 商品主视频 */
    @Excel(name = "商品主视频")
    @ApiModelProperty(value = "商品主视频")
    private String productMainVideo;

    private String videoCover;

    /** 原价 */
    @Excel(name = "原价")
    @ApiModelProperty(value = "原价")
    private BigDecimal oldPrice;

    /** 商品主图 */
    @Excel(name = "商品主图")
    @ApiModelProperty(value = "商品主图")
    private String productImage;

    /** 商品副图 */
    @Excel(name = "商品副图")
    @ApiModelProperty(value = "商品副图")
    private String productDeputyImage;

    /** 富文本 */
    @Excel(name = "富文本")
    @ApiModelProperty(value = "富文本")
    private String richText;

    /** 分类id */
    @Excel(name = "分类id")
    @ApiModelProperty(value = "分类id")
    private Long classifyId;

    /** 区分优惠券和兑换码 */
    @Excel(name = "区分优惠券和兑换码")
    @ApiModelProperty(value = "区分优惠券和兑换码")
    private String distinctionCdkCoupon;

    /** 上下架 */
    @Excel(name = "上下架")
    @ApiModelProperty(value = "上下架")
    private String isShow;


    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty(value = "排序")
    private Long sort;

    /** 分类名称 */
    @Excel(name = "分类名称")
    @ApiModelProperty(value = "分类名称")
    private String classifyName;

    /** 提供服务 */
    @Excel(name = "提供服务")
    @ApiModelProperty(value = "提供服务")
    private String service;

    /** 分类编码名称 */
    @Excel(name = "分类编码名称")
    @ApiModelProperty(value = "分类编码名称")
    private transient String classifyCodingName;

    /** 售价 */
    @Excel(name = "售价")
    @ApiModelProperty(value = "售价")
    private BigDecimal currentPrice;

    /** 销量 */
    @Excel(name = "销量")
    @ApiModelProperty(value = "销量")
    private Integer salesNum;
    /** 是否热卖 */
    @Excel(name = "是否热卖")
    @ApiModelProperty(value = "是否热卖")
    private String whetherSelling;

    /** 快照id */
    @Excel(name = "快照id")
    @ApiModelProperty(value = "快照id")
    private Long productBackId;

    public String getVideoCover() {
        return videoCover;
    }

    public void setVideoCover(String videoCover) {
        this.videoCover = videoCover;
    }

    public Long getProductBackId() {
        return productBackId;
    }

    public void setProductBackId(Long productBackId) {
        this.productBackId = productBackId;
    }

    public String getIsShow() {
        return isShow;
    }

    public void setIsShow(String isShow) {
        this.isShow = isShow;
    }

    public String getDistinctionCdkCoupon() {
        return distinctionCdkCoupon;
    }

    public void setDistinctionCdkCoupon(String distinctionCdkCoupon) {
        this.distinctionCdkCoupon = distinctionCdkCoupon;
    }
    public String getProductMainVideo() {
        return productMainVideo;
    }

    public void setProductMainVideo(String productMainVideo) {
        this.productMainVideo = productMainVideo;
    }

    public BigDecimal getOldPrice() {
        return oldPrice;
    }

    public void setOldPrice(BigDecimal oldPrice) {
        this.oldPrice = oldPrice;
    }
    public String getWhetherSelling() {
        return whetherSelling;
    }

    public void setWhetherSelling(String whetherSelling) {
        this.whetherSelling = whetherSelling;
    }

    public List<MallProductSpecs> getDataValue() {
        return dataValue;
    }

    public void setDataValue(List<MallProductSpecs> dataValue) {
        this.dataValue = dataValue;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setProductImage(String productImage)
    {
        this.productImage = productImage;
    }

    public String getProductImage()
    {
        return productImage;
    }
    public void setProductDeputyImage(String productDeputyImage)
    {
        this.productDeputyImage = productDeputyImage;
    }

    public String getProductDeputyImage()
    {
        return productDeputyImage;
    }
    public void setRichText(String richText)
    {
        this.richText = richText;
    }

    public String getRichText()
    {
        return richText;
    }
    public void setClassifyId(Long classifyId)
    {
        this.classifyId = classifyId;
    }

    public Long getClassifyId()
    {
        return classifyId;
    }
    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }
    public void setClassifyName(String classifyName)
    {
        this.classifyName = classifyName;
    }

    public String getClassifyName()
    {
        return classifyName;
    }
    public void setService(String service)
    {
        this.service = service;
    }

    public String getService()
    {
        return service;
    }
    public void setClassifyCodingName(String classifyCodingName)
    {
        this.classifyCodingName = classifyCodingName;
    }

    public String getClassifyCodingName()
    {
        return classifyCodingName;
    }
    public void setCurrentPrice(BigDecimal currentPrice)
    {
        this.currentPrice = currentPrice;
    }

    public BigDecimal getCurrentPrice()
    {
        return currentPrice;
    }
    public void setSalesNum(Integer salesNum)
    {
        this.salesNum = salesNum;
    }

    public Integer getSalesNum()
    {
        return salesNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("productName", getProductName())
                .append("productMainVideo", getProductMainVideo())
                .append("productImage", getProductImage())
                .append("productDeputyImage", getProductDeputyImage())
                .append("richText", getRichText())
                .append("classifyId", getClassifyId())
                .append("classifyName", getClassifyName())
                .append("isshow", getIsShow())
                .append("classifyCodingName", getClassifyCodingName())
                .append("whetherSelling", getWhetherSelling())
                .append("sort", getSort())
                .append("service", getService())
                .append("currentPrice", getCurrentPrice())
                .append("oldPrice", getOldPrice())
                .append("salesNum", getSalesNum())
                .append("delState", getDelState())
                .append("distinctionCdkCoupon", getDistinctionCdkCoupon())
                .append("delUser", getDelUser())
                .append("delType", getDelType())
                .append("delTime", getDelTime())
                .append("createBy", getCreateBy())
                .append("createType", getCreateType())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateType", getUpdateType())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
